java 十进制转二进制、八进制、十六进制代码复用

  1. class Trans   
  2. {  
  3.     public static void main(String[] args)   
  4.     {  
  5.         //toBinary(60);  
  6.         //toOux(-60);  
  7.         toHex(60);  
  8.         //System.out.println("Hello World!");  
  9.     }  
  10.   
  11.     //转二进制  
  12.     public static void toBinary(int num){  
  13.         trans(num,1,1);  
  14.     }  
  15.   
  16.     //转八进制  
  17.     public static void toOux(int num){  
  18.         trans(num,7,3);  
  19.     }  
  20.   
  21.     //转十六进制  
  22.     public static void toHex(int num){  
  23.         trans(num,15,4);  
  24.     }  
  25.   
  26.     //十进制转成以上三种进制需要做的相同操作  
  27.     public static void trans(int num,int base,int offset){   //参数分别为待转换的数,进制基数-1,右移位数  
  28.         if(num==0){  
  29.             System.out.println(num);  
  30.             return ;  
  31.         }  
  32.         char[] chs={'0','1','2','3','4',  
  33.                     '5','6','7','8','9',  
  34.                     'A','B','C','D','E',  
  35.                     'F'};//注意要从‘0’开始!!这样才能满足chs[1]='1'。  
  36.         char[] arr=new char[32];  
  37.         int i=0;  
  38.         while(num!=0){  
  39.             int temp=num&base;  
  40.             arr[i++]=chs[temp];  
  41.             num=num>>>offset;  
  42.         }  
  43.         for(int j=i-1;j>=0;j--)  
  44.         System.out.print(arr[j]);  
  45.     }  
  46. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值